<?php
	require("frmCookie.php");
	
	$iOpcion = $_GET[iOpcion];
	
	if(isset($_REQUEST['producto']))
	{
		$idProducto = $_REQUEST['producto'];
	}
	else
	{
		//Cuando entra desde el menu, no le pasa Producto en la URL por eso predetermino el Producto 2, que son los Celulares
		$idProducto = 2;	
	}
?>
<html>
	<head>
    	<?php
		require("frmHeader.php");
		?>
		<script language="javascript" src="scripts/ajax.js"></script>
		<script language="javascript" src="scripts/validar.js"></script>
		<script language="javascript"></script>
	</head>
	<body>
    	<table cellpadding="0" cellspacing="0" align="center" class="tablaPrincipal">
        	<tr>
            	<td align="center">
                	<?php
					require("frmSession.php"); 
					
					//Redirecciona a SINPERMISOS.PHP en caso de no tener permisos
					
					if (!(in_array(33000, $_SESSION[permisos])))
					{
					?>
					  <script language="JavaScript" type="text/javascript">
					  <!--
					  window.location.href = "sinPermisos.php"
					  //-->
					  </script>
					<?php
					}
					$titulo = "Reporte LG";
					
					?>
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<?php
					require("frmTitulo.php");
					?>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="menuPrincipal">
                    	<tr>
                        	<td>
								<?php
                                require("frmMenu.php");
                                ?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="tituloPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $titulo; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="estadoPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $mensaje; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="contenedorPrincipal">
                    	<tr>
                        	<td align="">
                        		<?php
                        		switch($iOpcion)
                        		{
                        			case 1:
                        			{
                				?>
                				<form name="frm" action="excelLg.php?iOpcion=2" onSubmit="return validaForm();" method="post">
                					<table>
                                    	<tr style="display:none;">
                                            <td>
                                                *Producto:
                                            </td>
                                            <td>
                                                <select name="producto">
                                                    <?php
                                                    
                                                    $mySQL = "Select * from productos order by nombre";
                                                    $productos = readSQL($mySQL);
                                                    foreach($productos as $producto)
                                                    {
                                                        if($producto['idProducto'] == $idProducto)
                                                        {
                                                            echo "<option value='".$producto['idProducto']."' selected>".$producto['nombre']."</option>";
                                                        }
                                                        else
                                                        {
                                                            echo "<option value='".$producto['idProducto']."'>".$producto['nombre']."</option>";
                                                            
                                                        }
                                                    }
                                                    
                                                    ?>
                                                </select>
                                            </td>
                                        </tr>
                						<tr>
                							<td>Fecha Desde: </td>
                							<td><input type="text" name="txtFechaDesde" size="10" maxlength="10" /></td>
                						</tr>
                						<tr>
                							<td>Fecha Hasta: </td>
                							<td><input type="text" name="txtFechaHasta" size="10" maxlength="10" /></td>
                						</tr>
                						<tr>
                							<td colspan="2" align="center"><input type="submit" name="cmdEnviar" value="Generar" /></td>
                						</tr>
                					</table>
                				</form>
                        		<?php
                        				break;
                        			}
                        			case 2:
                        			{
                        		
		                        		$data = array(
										  array('Temporal', 'Estado de Cobro', 	'Comentario', 	'Usuario', 	'Service Receipt No', 	'ASC Claim No', 	'Model No', 	'Serial No', 	'Esn/Imei No', 	'New Esn/Imei No', 	'New Serial No', 	'Customer Name', 	'Customer Type Code', 	'Address1', 	'City', 	'State', 	'Post Code', 	'Phone No', 	'Cellular No', 	'Dealer Name', 	'Dealer Stock Flag', 	'Warranty Flag', 	'Symptom1', 	'Secondary Symptom1 Code', 	'Symptom2', 	'Secondary Symptom2 Code', 	'Defect Code', 	'Repair Code', 	'Repair Level', 	'Date of Purchase', 	'Receipt Date', 	'Repair Start Date', 	'Repair End Date', 	'Return Date', 	'Service Type Code', 	'Mobile Operator Code', 	'Approval Code', 	'Software In', 	'Software Out', 	'Repair Remark', 	'Others Amount', 	'Material Amount', 	'Freight Amount', 	'Labor Amount', 	'Parts Amount', 	'Purchase Evidence Doc No', 	'Service Engineer Code', 	'Part No', 	'Part Qty', 	'Invoice', 	'Circuit No', 	'Reuse Parts Flag', 	'Part No 2', 	'Part Qty 2', 	'Invoice 2', 	'Circuit No 2', 	'Reuse Parts Flag 2', 	'Part No 3', 	'Part Qty 3', 	'Invoice 3', 	'Circuit No 3', 	'Reuse Parts Flag 3', 	'Part No 4', 	'Part Qty 4', 	'Invoice 4', 	'Circuit No 4', 	'Reuse Parts Flag 4', 	'Part No 5', 	'Part Qty 5', 	'Invoice 5', 	'Circuit No 5', 	'Reuse Parts Flag 5', 	'Part No 6', 	'Part Qty 6', 	'Invoice 6', 	'Circuit No 6', 	'Reuse Parts Flag 6', 	'Part No 7', 	'Part Qty 7', 	'Invoice 7', 	'Circuit No 7', 	'Reuse Parts Flag 7', 	'Part No 8', 	'Part Qty 8', 	'Invoice 8', 	'Circuit No 8', 	'Reuse Parts Flag 8', 	'Part No 9', 	'Part Qty 9', 	'Invoice 9', 	'Circuit No 9', 	'Reuse Parts Flag 9', 	'Part No 10', 	'Part Qty 10', 	'Invoice 10', 	'Circuit No 10', 	'Reuse Parts Flag 10')
										);
		                        		
		                        		list($dia, $mes, $ano) = split("/", $_POST[txtFechaDesde]);
										$fechaDesde = $ano . "-" . $mes . "-" . $dia;
		                				
		                				list($dia, $mes, $ano) = split("/", $_POST[txtFechaHasta]);
										$fechaHasta = $ano . "-" . $mes . "-" . $dia;
										
		                        		$mySQLOrden = "select o.garantiaservice, ec.nombre as estadocobro, o.observacionestadocobro, u.apellido as apellidousuario, u.nombre as nombreusuario, o.idorden, m.nombrefabricante, olg.serialnumber, o.imei, o.imeisalida, stck.codigoreferencia, c.nombre as cliente, olg.tipocliente, s.idsucursal, s.direccion, s.ciudad, s.provincia, s.cp, s.telefono, o.nrolinea, op.nombre as operador, o.idtipoorden, o.codigoprecio, date_format(o.fechaactivacionlinea, '%d%m%Y') as fechaactivacionlinea, date_format(o.fechahorainicio, '%d%m%Y') as fechahorainicio, date_format(o.fechahorafin, '%d%m%Y') as fechahorafin, olg.inputswver, olg.outputswver, o.precio as monto from ordeneslg olg left join ordenes o on o.idorden = olg.idorden left join modelos m on o.idmodelo = m.idmodelo left join operadores op on o.idoperador = op.idoperador left join usuarios u on o.idusuario = u.idusuario left join sucursales s on o.idsucursal = s.idsucursal left join estadoscobro ec on o.idestadocobro = ec.idestadocobro left join clientes c on o.idcliente = c.idcliente left join (select stk.imei, stk.cantidad, stk.codigoreferencia from stock stk where length(stk.imei)=15 and stk.cantidad = 0)stck on o.imeisalida = stck.imei where m.idProducto = $idProducto /*AND o.garantiaservice = 0*/ and m.idmarca = 2 and o.idestado in(select idestado from estados e where e.nombre = 'Reparado' or e.nombre = 'Devolucion' or e.nombre = 'NVF') and o.fechahorafin BETWEEN '" . $fechaDesde . " 00:00:00' AND '" . $fechaHasta . " 23:59:59' group by idordenlg";
										
										//echo $mySQLOrden;
										//exit;
										
		                        		$resultOrden = readSQL("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;".$mySQLOrden);
										
										foreach($resultOrden as $valueOrden)
										{
											$registro = array();
											
											if($valueOrden['garantiaservice']==1)
											{
												array_push($registro, "NO REPORTADO");
											}
											else
											{
												array_push($registro, "");
											}
											
											$estadoCobro = strtoupper($valueOrden['estadocobro']);
											array_push($registro, $estadoCobro);
											
											$observacionEstadoCobro = strtoupper($valueOrden['observacionestadocobro']);
											array_push($registro, $observacionEstadoCobro);
											
											$usuario = strtoupper($valueOrden['apellidousuario'] . " " . $valueOrden['nombreusuario']);
											array_push($registro, $usuario);
											
											array_push($registro, "");
											
											$idOrden = strtoupper($valueOrden['idorden']);
											array_push($registro, $idOrden);
											
											$modelo = strtoupper($valueOrden['nombrefabricante']);
											array_push($registro, $modelo);
											
											$serialNumber = strtoupper($valueOrden['serialnumber']);
											array_push($registro, $serialNumber);
											
											$imei = strtoupper($valueOrden['imei']);
											array_push($registro, $imei);
											
											$imeiSalida = strtoupper($valueOrden['imeisalida']);
											array_push($registro, $imeiSalida);
											
											$codigoReferencia = strtoupper($valueOrden['codigoreferencia']);
											array_push($registro, $codigoReferencia);
											
											$cliente = strtoupper($valueOrden['cliente']);
											array_push($registro, $cliente);
											
											$idTipoOrden = strtoupper($valueOrden['idtipoorden']);
											$tipoCliente = strtoupper($valueOrden['tipocliente']);
											if($idTipoOrden == 1)
											{
												$tipoCliente = "001";
											}
											array_push($registro, $tipoCliente);
											
											$direccion = strtoupper($valueOrden['direccion']);
											array_push($registro, $direccion);
											
											$ciudad = strtoupper($valueOrden['ciudad']);
											array_push($registro, $ciudad);
											
											$provincia = strtoupper($valueOrden['provincia']);
											if($provincia == 'CORDOBA')
											{
												$provincia = 'CB';
											}
											else if($provincia == 'BUENOS AIRES' || $provincia == 'CAPITAL FEDERAL')
											{
												$provincia = 'BS';
											}
											else if($provincia == 'RIO NEGRO')
											{
												$provincia = 'RN';
											}
											array_push($registro, $provincia);
											
											$idSucursal = strtoupper($valueOrden['idsucursal']);
											$codigoPostal = strtoupper($valueOrden['CP']);
											switch($idSucursal)
											{
												case 15:
												{
													$codigoPostal = "AR_0224";
													$codigoSucursal = "Palermo";
													break;
												}
												case 16:
												{
													$codigoPostal = "AR_0043";
													$codigoSucursal = "Ramos";
													break;
												}
												case 17:
												{
													$codigoPostal = "AR_0173";
													$codigoSucursal = "Moron";
													break;
												}
												case 18:
												{
													$codigoPostal = "AR_0051";
													$codigoSucursal = "Viamonte";
													break;
												}
												case 19:
												{
													$codigoPostal = "AR_0051";
													$codigoSucursal = "Laboratorio INDEPENDENCIA";
													break;
												}
												case 20:
												{
													$codigoPostal = "AR_0085";
													$codigoSucursal = "Laboratorio CORDOBA";
													break;
												}
												case 22:
												{
													$codigoPostal = "AR_0085";
													$codigoSucursal = "Rivadavia 34";
													break;
												}
												case 23:
												{
													$codigoPostal = "";
													$codigoSucursal = "Centro de Distribucion";
													break;
												}
												case 25:
												{
													$codigoPostal = "AR_0051";
													$codigoSucursal = "Laboratorio FRAVEGA";
													break;
												}
												case 26:
												{
													$codigoPostal = "AR_0051";
													$codigoSucursal = "Laboratorio GARBARINO";
													break;
												}
												case 27:
												{
													$codigoPostal = "";
													$codigoSucursal = "CSP SAMSUNG - Paternal";
													break;
												}
												case 28:
												{
													$codigoPostal = "AR_0124";
													$codigoSucursal = "Bariloche";
													break;
												}
												case 29:
												{
													$codigoPostal = "AR_0427";
													$codigoSucursal = "CEC VELEZ 1";
													break;
												}
											}
											array_push($registro, $codigoPostal);
											
											$nroLinea = strtoupper($valueOrden['nrolinea']);
											$telefono = strtoupper($valueOrden['telefono']);
											if($idTipoOrden == 3)
											{
												$nroLinea = $telefono;	
											}
											array_push($registro, $nroLinea);
											array_push($registro, $nroLinea);
											
											$operador = strtoupper($valueOrden['operador']);
											array_push($registro, $operador);
											
											if($idTipoOrden == 3)
											{
												$stock = "Y";
											}
											else
											{
												$stock = "N";
											}
											array_push($registro, $stock);
											
											array_push($registro, "I");
											
											$mySQLReparacion = "Select sxm.codigo as sintoma, fxm.codigo as falla, axm.codigo as accion, a.nombre as textoaccion, p.codigofabricante, r.cantidad, r.nrofactura, p.descripcioninterna from ordeneslg olg join reparaciones r on olg.idorden = r.idorden join sintomasxmarca sxm on r.idSintoma = sxm.idsintoma join fallasxmarca fxm on r.idfalla = fxm.idfalla join accionesxmarca axm on r.idaccion = axm.idaccion join acciones a on axm.idaccion = a.idaccion join partes p on r.idparte = p.idparte where axm.idProducto = $idProducto AND fxm.idProducto = $idProducto AND sxm.idProducto = $idProducto AND olg.idorden = ".$valueOrden['idorden']." and sxm.idmarca = 2 and fxm.idmarca = 2 and axm.idmarca = 2 limit 10";
											
										
											$resultReparacion = readSQL($mySQLReparacion);
											foreach($resultReparacion as $valueReparacion)
											{
												$sintoma = "";
												$falla = "";
												$accion = "";
												$textoAccion = "";
												$nroFactura = "";
												$parte = "";
												$cantidad = "";
												
												$sintoma = strtoupper($valueReparacion['sintoma']);
												array_push($registro, substr($sintoma,0,3));
												
												array_push($registro, "");
												
												array_push($registro, $sintoma);
												
												array_push($registro, "");
												
												$falla = strtoupper($valueReparacion['falla']);
												array_push($registro, $falla);
												
												$accion = strtoupper($valueReparacion['accion']);
												array_push($registro, $accion);
												
												$codigoPrecio = strtoupper($valueOrden['codigoprecio']);
												array_push($registro, $codigoPrecio);
												
												$fechaActivacion = strtoupper($valueOrden['fechaactivacionlinea']);
												array_push($registro, $fechaActivacion);
												
												if($idTipoOrden == 1)
												{
													$fechaRecepcion = strtoupper($valueOrden['fechahorafin']);
												}
												else
												{
													$fechaRecepcion = strtoupper($valueOrden['fechahorainicio']);	
												}
												array_push($registro, $fechaRecepcion);
												
												$fechaProceso = strtoupper($valueOrden['fechahorafin']);
												array_push($registro, $fechaProceso);
												array_push($registro, $fechaProceso);
												array_push($registro, $fechaProceso);
												
												if($idTipoOrden == 3)
												{
													$tipoServicio = "CA";
												}
												else
												{
													$tipoServicio = "CL";
												}
												array_push($registro, $tipoServicio);
												
												switch($operador)
												{
													case "CLARO":
													{
														$operador = "ACL";
														break;
													}
													case "MOVISTAR":
													{
														$operador = "AMV";
														break;
													}
													case "LIBRE / SIN LINEA":
													{
														$operador = "OPN";
														break;
													}
													case "PERSONAL":
													{
														$operador = "PRN";
														break;
													}
												}
												array_push($registro, $operador);
												
												array_push($registro, "");
												
												$softwareInVersion = strtoupper($valueOrden['inputswver']);
												array_push($registro, $softwareInVersion);
												
												$softwareOutVersion = strtoupper($valueOrden['outputswver']);
												array_push($registro, $softwareOutVersion);
												
												$textoAccion = strtoupper($valueReparacion['textoaccion']);
												array_push($registro, $textoAccion);
												
												array_push($registro, "");
												
												array_push($registro, "");
												
												array_push($registro, "");
												
												$monto = strtoupper($valueOrden['monto']);
												array_push($registro, $monto);
												
												array_push($registro, "");
												
												array_push($registro, "");
												
												array_push($registro, $codigoSucursal);	
												
												break;
											}
											
											foreach($resultReparacion as $valueReparacion)
											{
												if(strtoupper($valueReparacion['descripcioninterna']) != "N.U.P")
												{
													$parte = strtoupper($valueReparacion['codigofabricante']);
													array_push($registro, $parte);
													
													$cantidad = strtoupper($valueReparacion['cantidad']);
													array_push($registro, $cantidad);
													
													$nroFactura = strtoupper($valueReparacion['nrofactura']);
													array_push($registro, $nroFactura);
													
													array_push($registro, "");
													
													array_push($registro, "");
												}
											}

											array_push($data, $registro);
										}
		                        		// include package
										include 'Spreadsheet/Excel/Writer.php';
										
										// Fecha Hora Inicio
										$fecha = getdate();
										$dia = $fecha[mday];
										$mes = $fecha[mon];
										$ano = $fecha[year];
										$hora = $fecha[hours];
										$minutos = $fecha[minutes];
										$segundos = $fecha[seconds];
										$archivo =  $ano . "-" . $mes . "-" . $dia . "-" . $hora . "-" . $minutos . "-" . $segundos . "Lg.xls";
										
										// create empty file
										if($_SERVER['SERVER_NAME'] == "localhost")
										{
											$host = "/Users/fede/Sites/galander/informes/";
										}
										else
										{
											$host = "/var/www/html/galander/informes/";
										}

										$excel = new Spreadsheet_Excel_Writer($host.$archivo);
										
										// add worksheet
										$sheet =& $excel->addWorksheet('Hoja 1');
										
										// create format for header row 
										// bold, red with black lower border
										/*$firstRow =& $excel->addFormat();
										$firstRow->setBold();
										$firstRow->setColor('black');
										$firstRow->setBottom(1);*/
										//$firstRow->setBottomColor('black');
										
										// create format for header column
										// blue with black right border
										/*$firstCol =& $excel->addFormat();
										$firstRow->setBold();
										$firstCol->setColor('black');*/
										//$firstCol->setRight(1);
										//$firstCol->setRightColor('black');
										
										// create format for top left corner
										/*$firstRowCol =& $excel->addFormat();
										$firstRowCol->setBottom(1);*/
										//$firstRowCol->setRight(1);
										//$firstRowCol->setBorderColor('black');
										
										// create format for numeric cells
										$num =& $excel->addFormat();
										$num->setNumFormat('#');
										
										$imeiF =& $excel->addFormat();
										$imeiF->setNumFormat('000000000000000');
										
										$prodcode =& $excel->addFormat();
										$prodcode->setNumFormat('0000000');
										
										$fecIng =& $excel->addFormat();
										$fecIng->setNumFormat('00000000');
										
										// create format for averaged values
										/*$avg =& $excel->addFormat();
										$avg->setNumFormat('0.00');*/
										
										// add data to worksheet
										$rowCount=0;
										foreach ($data as $row) {
										  for($colCount=0; $colCount<sizeof($row); $colCount++) {
										    /*if ($rowCount == 0 && $colCount == 0) {
										      $format = 'firstRowCol';
										    } else if ($rowCount == 0) {
										        $format = 'firstRow';        
										    } else if ($colCount == 0) {
										        $format = 'firstCol';                
										    } else {
										        $format = 'num';                      
										    }*/
										    if($colCount == 11)
										    	$format = 'imeiF';
										    else if($colCount == 15)
										    	$format = 'prodcode';
									    	else if($colCount == 16)
										    	$format = 'fecIng';
									    	else if($colCount == 17)
										    	$format = 'fecIng';
									    	else if($colCount == 18)
										    	$format = 'fecIng';
										    else if($colCount == 19)
											    $format = 'fecIng';
											else if($colCount == 20)
											    $format = 'fecIng';
										    else
										    	$format = 'num';
										    $sheet->writeString($rowCount, $colCount, $row[$colCount]);                       
										  }  
										  // get cell coordinates
										  $start = Spreadsheet_Excel_Writer::rowcolToCell($rowCount, 1);
										  $end = Spreadsheet_Excel_Writer::rowcolToCell($rowCount, (sizeof($row)-1));
										  // add average() formula to terminating cell of each row
										  // except the first (header) row
										  /*if ($rowCount != 0) {
										    $sheet->writeFormula($rowCount, sizeof($row), "=AVERAGE($start:$end)", $avg);     
										  } */
										  $rowCount++;
										}
										
										// save file to disk
										if ($excel->close() === true) 
										{
											echo "<a class='linknuevo' href='informes/" . $archivo . "'>Descargar Archivo</a>";
											
										  //echo 'Spreadsheet successfully saved!';  
										} else {
										  echo 'ERROR: Could not save spreadsheet.';
										}
										
										/*foreach($data as $val)
										{
											foreach($val as $val1)
											{
												echo $val1 . "<br>";
											}
										}*/
											break;
										}
                        			}
                        		?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
	</body>
</html>